﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using RESTRecursoService.Dominio;
using RESTRecursoService.Persistencia;
using System.ServiceModel.Web;
using System.Net;

namespace RESTRecursoService
{
    public class Recursos : IRecursos
    {
        private RecursoDAO dao = new RecursoDAO();
        public Recurso CrearRecurso(Recurso recursoACrear)
        {
            var existe = ObtenerRecurso(recursoACrear.Codigo);
            if (existe != null)
                throw new WebFaultException<string>("El Recurso que intento Ingresar Ya Existe!!!", HttpStatusCode.NotFound);
            return dao.Crear(recursoACrear);
        }

        public Recurso ObtenerRecurso(string codigo)
        {
            return dao.Obtener(codigo);
        }

        public Recurso ModificarRecurso(Recurso recursoAModificar)
        {
            return dao.Modificar(recursoAModificar);
        }

        public void EliminarRecurso(string codigo)
        {
            dao.Eliminar(codigo);
        }

        public List<Recurso> ListarRecursos()
        {
            return dao.ListarTodos();
        }
    }
}
